Knocking detecting device for automobile

ABSTRACT

A knocking detecting device executes A/D conversion of a knock sensor signal every constant time ts and executes filter processing of the converted digital signal. The knocking detecting device determines whether the knocking arises or not according to the filter processed data. The device measures a TDC signal falling period T every 120° CA. The period indicating of 5° CA is divided by a constant period ts to obtain a value which is rounded off to derive an integer N. At a timing in which the crankshaft rotates to 10° CA from the TDC signal falling, the filter processed data which are derived every A/D timing ts are integrated every N pieces of data. When the number of integrated value reaches 12, knocking determining process is executed based on the 12 integrated values.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application is based on Japanese Patent Application No.2003-102027 filed Apr. 4, 2003, the disclosure of which is incorporatedherein by reference.

FIELD OF THE INVENTION

[0002] The present invention relates to a knocking detecting device foran automobile.

BACKGROUND OF THE INVENTION

[0003] Japanese patent No. 2764495 shows a conventional knockingdetecting device for an automobile. In this device, an analog signaloutput from a knock sensor is analog-to-digital converted in a constantsampling period and the converted data (sampling data) on the timeseries are digital filter processed. Then, a knocking is detected baseon the sampling data. An analog-to-digital conversion is referred as A/Dconversion and an analog-to-digital converter is referred as A/Dconverter herein after.

[0004] A knocking detection is processed according to allfilter-processed data which are saved every sampling timing during aknocking detection period. During knocking detection, a knock sensorsignal is processed and the crankshaft of an internal combustion enginerotates in a predetermined angle.

[0005] Since the device takes a long time to detect the knocking in lowrotation of an engine, a large number of the data should be stored sothat a memory capacity and processing load are increased.

[0006] To avoid such a problem, it is suggested that a filter-processeddata are integrated to every fixed number N and the existence of theknocking is detected from the integrated value to reduce the storeddata. In such a process, the integrated filter processed data can bedeleted and only integrated data are stored so that which the number ofthe stored data can be reduced to “1/K”. As shown in FIG. 13, theknocking detection is carried out according to the fluctuation of theintegrated value.

[0007] The device described above needs a long period to detect knockingand the number of stored data (the number of integrated number) isincreased in a low rotation of the engine. If the value N is increasedto decrease the number of integrated value, the number of integratedvalue is reduced in a high rotation of the engine and the knockingdetection cannot be carried out precisely. That is, if the number of theintegrated value is too small, the characteristic of the knocking cannotbe detected.

[0008] To avoid such a problem, it suggested that A/D converted anddigital-filtered data are integrated every period in which a crankshaftrotates to predetermined angle R (for example 5° CA) instead of everyfixed number. That is, a timing signal arises every timing in which thecrankshaft rotates to a predetermined angle R, the filter-processed dataare integrated during a time period from the timing signal arising tothe next timing signal arising. Consequently the number of theintegrated value is restrained to a proper number to detect theknocking. “CA” is referred to a rotational angle of the crankshaft(crank angle).

[0009] In the case of integration of the filter-processed data everyperiod in which a crankshaft rotates to predetermined angle, anotherproblem arises.

[0010] The filter-processed data every sampling timing is grouped everytime period of crank angle. The number of the filter-processed datawhich are integrated in a predetermined angle (5° CA) fluctuates asshown FIG. 14A. Dots in FIG. 14 represent a sampling timing (A/Dconversion timing) of the knock sensor signal and a timing ofcalculation of new filter processed data.

[0011] When 5° CA indicates 85 μs and a sampling period of the knocksensor signal indicates 20 μs (50 k Hz), four or five data areintegrated are integrated in the 5° CA period. The number of thefilter-processed data in an integrated value fluctuates.

[0012] As shown in FIGS. 14B and 14C, the number of filter processeddata fluctuates due to an acceleration or deceleration of the engine.“NE” in FIGS. 14B and 14C represents a timing signal which traversesevery 5° CA.

[0013] When the number of the filter-processed data in each integratedvalue fluctuate, the integrated values also fluctuates due to the othercondition besides the wave of the knock sensor signal. Thus, theknocking cannot be detected precisely and the feature of the knockingcan no be obtained precisely.

SUMMARY OF THE INVENTION

[0014] An object of the present invention is to reduce the number of thestored data and to detect the knocking precisely.

[0015] A knocking detecting device of the present invention has a signalprocessing means which converts an analog knock sensor signal into adigital knock sensor signal and filters the digital knock sensor signaldigitally every sampling period.

[0016] A calculating means of the invention calculates the number of theA/D conversion for rotating of the crankshaft to a predetermined angleand converts the number into integer N. Dividing the period for rotatingof the crankshaft to the predetermined angle by a sampling periodderives the number of the A/D conversion.

[0017] An integrating means of the invention integrates thefilter-processed data processed by the signal processing means each Nand a knock detecting means detects the existence of the knocking basedon the plural integrated values. The calculating means derives N beforethe integrating means starts to process and N is not updated during theprocessing period of the integrating means.

[0018] The integrating means integrates N pieces of filter-processedvalues corresponding to the period in which the crankshaft rotates to apredetermined angle. The value of N is constant during the processing ofthe integrating means regardless of a start timing of integration andthe acceleration or deceleration of the engine. Therefore, the knockingdetection is carried out based on N pieces of the filter-processed dataregardless of a start timing of integration and the acceleration ordeceleration of the engine.

[0019] The period in which the integrating means performs is defined asfollowing two examples.

[0020] Example 1: The period is defined as a period from a starting timeof processing to a time when the number of integrated value becomes “M”.“M” is a natural number larger than 2.

[0021] Example 2: a period from a starting time of processing to a timewhen the crankshaft rotates to a predetermined angle.

[0022] In both of the examples, N is not fixed number but is establishedaccording to the rotational number of the engine. Thus, it is avoidedthat the number of stored data for detecting the knocking is increasedin the low rotational speed of the engine and the number of stored datais decreased in the high rotational speed of the engine for preciseknocking detection.

[0023] According to the present invention, the precise knockingdetection is carried out with small number of stored data.

[0024] When the knock detecting means detects the knocking according to“P” pieces of integrated value, the knock detecting period is the periodin which the crankshaft may rotate to the angle: “the predeterminedangle”×“P”. During the period, it is determined whether the knockingexists or not.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025]FIG. 1 is a block diagram showing an engine control system in afirst embodiment of the invention;

[0026]FIG. 2 is a time diagram showing a processing executed by amicrocomputer mounted on the engine control system in the firstembodiment;

[0027]FIG. 3 is a time diagram showing a processing per one ignition;

[0028]FIG. 4 is a flow diagram showing a TDC falling process executed bythe microcomputer in the first embodiment;

[0029]FIG. 5 is a flow diagram showing a gate open timing processingexecuted by the microcomputer in the first embodiment;

[0030]FIG. 6 is a flow diagram showing an A/D finishing processingexecuted by the microcomputer in the first embodiment;

[0031]FIG. 7 is a graph showing a relation between a rotation number ofan engine (a lateral axis) and a numeral N (a longitudinal axis) when anengine has six cylinders and an A/D conversion is executed at every 10μs;

[0032]FIG. 8 is a flow diagram showing a TDC falling process executed bythe microcomputer in a second embodiment of the invention;

[0033]FIG. 9 is a chart showing the operation when the rotation numberof an engine is substantially constant in the second embodiment;

[0034]FIG. 10 is a chart showing the operation when the rotation numberof an engine is rapidly decreased or increased in the second embodiment;

[0035]FIG. 11 is a chart showing the operation when the rotation numberof engine is substantially constant in a third embodiment;

[0036]FIG. 12 is a chart showing the operation when the rotation numberof an engine is rapidly decreased or increased in the third embodiment;

[0037]FIG. 13 is a first graph for explaining a conventional system andthe problem thereof;

[0038]FIG. 14 is a second graph for explaining a conventional system andthe problem thereof.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0039]FIG. 1 is a block diagram showing an engine control system 10which controls a gasoline engine (an internal combustion engine) havingsix cylinders.

[0040] The engine control system 10 is provided with a multiplexer (MPX)3, an A/D converter 4, a digital filtering processor 5, a summationprocessor 6, a knocking determine processor 7, and a CPU 9.

[0041] The engine control system 10 receives a first analog signal(refereed as the first knock sensor signal hereinafter) and a secondanalog signal (refereed as the second knock sensor signal hereinafter).Knock sensors SN1 each of which is respectively disposed on the threecylinders in six cylinders detect the first knock sensor signal. In thisembodiment, the knock sensors SN1 are disposed on a first cylinder #1, athird cylinder #3, and a fifth cylinder #5. Knock sensors SN2 each ofwhich is respectively disposed on other three cylinders detect thesecond knock sensor signal. In this embodiment, the knock sensor SN2 aredisposed on a second cylinder #2, a fourth cylinder #4, and a sixthcylinder #6.

[0042] The multiplexer (MPX) 3 receives one of the first knock sensorsignal or second knock signal selectively. The A/D converter 4 convertsthe signal outputted from the multiplexer 3 during a sampling period ts.In this embodiment, the sampling period is 10 μ seconds. The digitalfiltering processor 5 filters the signal converted by the A/D converter4 digitally. The summation processor 6 adds the data filtered by thedigital filtering processor 5, which adds absolute value of the data.The knocking determine processor 7 determines if the knocking arises ornot according to the summed value. The CPU 9 controls an ignite timingand an amount of fuel and the like according to the result of theknocking determine processor 7, the rotational number of the engine, acoolant temperature and other condition of the engine.

[0043] The digital filtering processor 5, the summation processor 6 andthe knocking determine processor 7 are comprised of microcomputer 8having CPU, ROM, and RAM.

[0044] The engine control system 10 receives a rotational number signaland a cylinder-determining signal. The rotational number signal is fordetecting a rotational speed and a rotational position of a crankshaft,which is a pulse signal per a predetermined crankshaft angle. Thecylinder determining signal is for determine which cylinder should beignited, which is a pulse signal per two rotations of the engine 2.

[0045] A signal generate circuit 11 generates a TDC signal. As shown inuppermost of FIG. 2, the TDC signal has a falling edge at the timing ofeach piston top dead center position. The signal generating circuit 11outputs the TDC signal to the microcomputer 8 and the CPU 9. In thisembodiment, since the engine has six cylinders, the TCD signal fallsevery 120-degree of the crankshaft angle.

[0046] Referring to FIGS. 2-6, the processing of the microcomputer 8 asthe digital filtering processor 5, the summation processor 6 and theknocking determine processor 7 is described herein after.

[0047]FIG. 2 is a time diagram showing a processing executed by amicrocomputer and FIG. 3 is a time diagram showing a processing per oneignition, which shows especially an area surrounded by a broken line inFIG. 2.

[0048] The multiplexer 3 selects the first knock sensor signal or thesecond knock sensor signal and outputs the signal to the A/D converter 4at every timing of the falling edge of the TDC signal. For example, theknock sensor signal outputted the A/D converter 4 is changed from thesecond knock sensor signal to the first knocking sensor signalcorresponding to the first cylinder #1 at timing of TDC of the firstcylinder #1. The knock sensor signal outputted the A/D converter 4 ischanged from the first knock sensor signal to the second knocking sensorsignal corresponding to the second cylinder #2 at timing of TDC of thefirst cylinder #2.

[0049] The knock sensor signal can be changed at the timing of the gatefinishing to the expected knock sensor signal corresponding to the nextcylinder. The timing of the gate finishing is the timing of finishingadding the filtered result data. In such a processing, the period fromthe changing of the knock sensor to the opening gate timing is keptenough. That is, the period from the changing the knock sensor signalinputted to the A/D converter 4 from the multiplexer 3 to the openinggate timing is enough. Though there is a delay from the changing theknock sensor signal to the getting the stable filtered data, the periodfrom the changing of the knock sensor signal to the gate opening timingof the next the cylinder exceeds the delay when the knock sensor signalis changed to the signal corresponding to the next cylinder and inputtedto the A/D converter 4 at the timing of gate finishing before the TDCtiming.

[0050] To explain the embodiment easily, the first knock sensor signaland the second knock sensor signal are both referred as the knock sensorsignal.

[0051] In this embodiment, the knocking determining period is from thetiming of 10-degree CA (timing of ATDC 10-degree CA) to the timing of60-degree CA. ATDC means the angle of crankshaft after the timing ofTDC.

[0052]FIG. 4 is a flow diagram showing a processing just falling of TDCsignal. When the microcomputer 8 begins to start the processing, a valueof a free run timer is memorized in memory t1 of RAM in step S110. Thefree run timer is of a count-up timer which counts up by means of theinternal clock of the microcomputer 8.

[0053] In step S120, a value memorized in a memory t2 of RAM issubtracted from the value memorized in the memory t1 and the value(t1−t2) is obtained. Next, the TDC period T corresponding to 120-degreeCA from the previous TDC timing to present TDC timing is calculated bymultiplying the value (t1−t2) by one count up time tck (one period ofthe internal clock) as shown in FIG. 2. A value of the free run timer atthe previous TDC timing is memorized in the memory t2.

[0054] In step 130, a value Z is calculated by a following equation. Theperiod to rotate the crankshaft in a predetermined angle (in thisembodiment, the angle is 5-degree) is divided by the sampling period ts(=10 μs) and the value Z is obtained. Furthermore, the value Z isconverted into an integer N by rounding. $\begin{matrix}\begin{matrix}{Z = {T \times 0.004167}} \\{= {T \times \left( {{5\quad}^{{^\circ}}\quad {{CA}/120}\quad {^\circ}\quad {{CA}/10}\quad µ\quad s} \right)}}\end{matrix} & \left\lbrack {{equation}\quad 1} \right\rbrack\end{matrix}$

[0055] The integer N is a whole number of A/D converting number (saplingnumber; number of sampling data) corresponding to 5° CA based on therotational speed of the engine (=TDC period T in this embodiment).Rounding up or rounding down the value Z can derive the integer N.

[0056] In step S140, the value of memory t1 is copied to the memory t2.In step S150, the count number α is calculated based on the followingequation with value (=t1−t2), which corresponds to 10° CA. The value ofthe memory t1 is added to the count number α, and the added value ismemorized as a gate stating time.

α=(t 1−t 2)×(10° CA/120° CA)   [equation 2]

[0057] The gate starting time is an estimated time in which thecrankshaft rotates 10° from the present TDC timing based on the rotationspeed of engine (=TDC period T in this embodiment). After the process ofstep S150 is executed, the falling process of the TDC is completed.

[0058]FIG. 5 is a flow diagram showing a gate starting timing processwhich is executed at the time when the value of the free run timer is inconsonance with the gate starting time memorized in step S150.

[0059] When the microcomputer 8 starts to execute the gate starting timeprocess, a flag flg is turned on in step 210 and then the value of thememory for summation SUM and counter for summation CNT (referred ascounter CNT herein after) are cleared to zero. In step S230, the value Ncalculated in step S130 is memorized in a memory n of RAM and theprocess of the gate starring time process is completed.

[0060] When the system can detect the crank angle from the TDC timingbased on the rotational signal and the like, ATDC 10° CA is establishedinstead of the gate starting time, the process shown in FIG. 5 can beexecuted based on ATDC 10° CA.

[0061]FIG. 6 is a flow diagram showing the A/D finishing process whichis executed at every time when the A/D conversion of the knock sensorsignal is completed.

[0062] When the microcomputer 8 starts to execute the A/D finishingprocess, a digital filter process is executed and the digital filtereddata is memorized in a memory filt of RAM. The digital filter process isof FIR or IIR digital filter process in which the newest time series A/Dconverted value is digitally filtered.

[0063] In step S320, it is determined whether the flag flg is ON or OFF.When the flag flg is not ON (in S320: NO), the A/D finishing process iscompleted. When the flag flg is ON (in S320: YES), the filter-processeddata is integrated in step S330.

[0064] In step S330, the absolute value of the memory filt is added tothe value of the integrate memory SUM and the added value isre-memorized in the integrate memory SUM.

[0065] In step S340, the value of the memory n is decremented by 1 (−1),and it is determined whether the value of memory n is more than zero instep S350.

[0066] When it is determined the value of the memory n is more than zero(in S350: YES), the A/D finishing process is completed. When the valueof the memory n is not more than zero (that is, the value of the memoryn is zero), step 360 is executed. In step 360, the present value of theintegrate memory SUM is memorized as an integrated value INT (CNT) shownby the counter CNT.

[0067] For example, when the value of the counter is zero, the value ofthe integrate memory SUM is memorized as a first integrate value INT:zero. When the value of the counter is 1, the value of the integratememory SUM is memorized as a second integrate value: 1. In thisembodiment, the first value of the counter CNT is zero in step S220, thefirst integrate value is represented as INT (0).

[0068] In step S370, the value of the integrate memory SUM is cleared tozero, and the value N calculated in step S130 is re-memorized and thevalue of counter CNT is incremented (+1).

[0069] Next, it is determined whether the value of the counter CNT isless than the predetermined value (in this embodiment, the value is 12).When the value of the counter CNT is less than 12, the A/D finishingprocess is completed.

[0070] When the value of the counter CNT is not less than 12 in stepS390 (that is, the value of the counter CNT reaches 12), the flag flg isturned off in step S400.

[0071] In step S410, it is determined whether knocking occurs or notbased on the plural integrate values memorized in step S360. In thisembodiment, it is based on from the first integrate value INT (0)through the twelfth integrate value INT (11). The occurrence of theknocking is determined based on the fluctuations in the number of theintegrate values, maximum value among the integrate values and thelike.. Then, the A/D finishing process is completed.

[0072] In the first embodiment, the TDC interval (interval of the TDCsignal falling at every 120° CA) is measured as the rotational speed ofthe engine in step S111, S120, S140. The value Z is calculated in stepS130 and, the value N is derived by rounding the value Z.

[0073] When the period from the TDC timing of the first cylinder #1 tothe TDC timing of the second cylinder #2 is 4000 μs as shown in FIG. 2,the value N is 17 which is calculated at the TDC timing of the secondcylinder #2. When the period from the TDC timing of the second cylinder#2 to the TDC timing of the third cylinder #3 is 3900 μs, the value N is16 which is calculated at the TDC timing of the third cylinder #3. Thetiming of a software process shown in lowest portion of FIG. 2represents the timing in which the TDC falling process is executed.After a laps of time which corresponds to 10° CA indicated by thecounter value α, the gate starting time process is executed, the flagflg is turned ON (S210), the value of the integrate memory SUM and thecounter CNT are cleared to zero (S220), and the value N at previous TDCtiming calculated in step S130 is memorized in the memory n of RAM(S230).

[0074] After the time when the flag is turned ON, the A/D conversion ofthe knocking sensor signal by the A/D converter 4 is completed, thedigital filter processing is executed in step S310, it is determined YESin step S320, and the filter processed data are integrated by number ofN according to steps S330-S390.

[0075] In the A/D finishing process of FIG. 6, the filter-processed dataare integrated. The number of integrate process is counted by decreasingthe value of the memory n from N to zero by 1 in the process of stepS340 and S350. At every time when the integrate process is executed Ntimes (the value of the memory n is zero), the value of the integratememory SUM is memorized as the integrate value INT (CNT) in step S360,the value of the counter CNT is counted up by 1 in step S380 so that thenumber of the integrate value is calculated.

[0076] When the number of the integrate value is 12 (in step S390: NO),the flag flg is turned off (S400), and it is determined whether theknocking is occurred based on the integrate values INT (0) through INT(11) which are calculated while the flag is turned ON.

[0077] When the TDC timing of the next cylinder comes, the value N isrenewed by executing the TDC falling process. The process of FIG. 6 isexecuted based on the renewed value N.

[0078] Even when the integrate process is not executed, the digitalfilter process (S310) is executed, because the digital filter process issupposed to FIR type or IIR type and a past value is necessary besidesthe newest value.

[0079] A predetermined value compared with the value of the counter CNTin step S390 is established as 12 (twelve integrate values is required)in this embodiment. It is because the period of 60° CA from ATDC 10° CAto ATDC 70° CA is established as a knock determine period. Namely, thevalue N is a number of sampling (=the number of filter processed data)corresponding to 5° CA, and the period to acquire a integrate value is aperiod corresponding to 5° CA. Thus, when the knock determination isexecuted based on the data corresponding to 60° CA, the twelve integratevalues are necessary.

[0080] In this embodiment, the A/D converter 4 and the processing instep 310 in FIG. 6 correspond to a signal processing means of thepresent invention, the processing in step S110 through step S140 in FIG.4 corresponds to calculating means of the invention, the processing instep S330 through S390 corresponds to an integrating means of theinvention, and the processing in step S410 in FIG. 6 corresponds toknock determining means of the invention. The timing of the flag ONcorresponds to a start timing of the integrating means.

[0081] The engine control system 10 of the first embodiment can reducethe number of data to be memorized in order to determine the occurrenceof the engine knocking precisely.

[0082] Each integrate value INT (CNT) for the knocking determination isan integrated value of N filter processed data in a period in which thecrankshaft rotates in a predetermined angle (in this embodiment: 5°).The number of filter processed data is N and this number is constantnotwithstanding the start timing of the integration, acceleration anddeceleration of the engine while integrate processing is executed. Thevalue of N is not fixed value and established by the equation 1 based onthe rotational number of engine. Therefore, it prevents the number ofthe data from increasing at low rotational speed of engine anddecreasing at high rotational speed of the engine.

[0083] Since the TDC period T is measured as a rotational speed of theengine and TDC period T is multiplied by the constant number (=0.004167)to get the value Z, the rotational speed of the engine is not calculatedin the [rpm] dimension and load of processing to calculate the value Nis decreased. The TDC period T is an interval between adjacent fallingedges of the TDC signal (standard signal in this invention) which arisesevery 120° of crankshaft (a constant angle in this invention). Theperiod corresponding to 5° CA is divided by the sampling period to getthe value Z. In stead of the TDC period T, the period between pulsesignals arise at every 30° of the crankshaft can be measured to obtainthe value Z and value N.

[0084] In step S130 shown in FIG. 4 as the calculating means, it isdetermined whether the TDC period T calculated in step 120 is between afirst predetermined value T1 and a second predetermined value T2. (Case1): In case of T≧T1, the value N is fixed to value N1. (Case 2): In caseof T≧T2, the value N is fixed to value N2 (<N1)

[0085] In the case 1, it is avoided that the value N exceeds apredetermined value in low speed of engine and the integrated value suchas the integrate memory SUM and value INT overflows. When the value N isfixed to the first value N1, the number of the integrate value INT isincreased so that the substantial knocking determination period is notreduced.

[0086] In the case 2, accuracy of the integrate value is kept high evenin the high rotation speed of the engine. When the value N becomes smallaccording to the engine speed up, the integrate value may be fluctuatedand the detecting accuracy of the knocking may be decreased. Since thevalue N is fixed to the value N2 at high engine speed, the deteriorationof the detecting accuracy is avoided.

[0087]FIG. 7 is a graph showing the relationship between the RPM of theengine (a lateral axis) and value N (a longitudinal axis), wherein theengine has 6 cylinders, and an A/D conversion is processed at every 10μs. When the speed of engine is 1000 rpm and the TDC period T is 20 ms,the value N is 83. When the speed of the engine is 327 rpm and the TDCperiod T is 61.2 ms, the value N is 255. When the speed of the engine is8333 rpm and the TDC period T is 2.4 ms, the value N is 83. Therefore,when the speed of engine is less than 327 rpm, the value N is fixed to255,and when the speed of the engine is larger than 8333 rpm, the valueN is fixed to 10.

[0088] The processing of the value N can be applied to the otherembodiment and modifications described below.

[0089] In the first embodiment, rounding the value Z in step S130 shownin FIG. 4 derives the value N. When the value N is derived by roundingoff the number of decimal places i.e. the number of decimal places ofthe value Z is less than 0.5, the number of the integrate value INT canbe increased. For example, in step S390 shown in FIG. 6, the set value12 can be changed into 13.

[0090] When the value N is derived by rounding off and the number ofintegrate value is not increased, the period from the timing of the flagON to the timing of finishing the calculation twelve integrated valuesare shorter than the actual period corresponding to 60° CA which isknock determining period. By increasing the number of integrate valuefrom 12 to 13, it is prevented that the actual knock determining periodis shorter than the designed knock determining period. In other words,the integrate value corresponding to 60° CA can be obtained, which isnecessary to determine the knocking precisely.

[0091] A second embodiment of the invention is described herein after.

[0092] The differences between the first embodiment and the secondembodiment are following two points.

[0093] (First Difference 1-1)

[0094] In step S390, it is determined whether the value of the counterCNT is larger than 17. Therefore, the integrate values INT arecalculated from INT (0) through INT (16).

[0095] Step S140 is deleted. In the A/D converting process, the knockingdetermination is not carried out.

[0096] Second Difference 1-2)

[0097] The TDC falling process shown in FIG. 8 is carried out instead ofthe TDC falling process shown in FIG. 4.

[0098] In the TDC falling process shown in FIG. 8, step S150 is modifiedand step S160 and S170 are added after step S150. The other processesare same as the process shown in FIG. 4.

[0099] In step S150, according to the subtracted value (=t1−t2), a valueof the free run timer is calculated. The value of the free run timer asa count value a corresponds to the 10° CA. The count value α is added tothe value memorized in the memory t1 to get a new value which ismemorized as a gate starting time. In the second embodiment, the gatestarting time represents an estimated time after 5° CA from the TDCtiming.

[0100] When the rotational speed of the engine is constant, and whenthere is no difference between the previous TDC timing T and the presentTDC timing T, seventeen integrate values are calculated during knockdetermining period corresponding to 85° CA: from ATDC 5° CA to 90° CA.The integration of N filter processed data (corresponding to 5° CA) isexecuted during the ATDC 5° CA to ATDC 90° CA. In FIG. 9 and FIGS.10-12, each of the integrate value is illustrated at the previousposition compared to FIG. 3.

[0101] Instep S160, a changing rate W (=(Tb/Ta)−1) is calculated. Thechanging rate W represents the increased amount of the rotational speedof the engine. According to the TDC period T calculated in the previousstep S120 (corresponding to the rotational speed Vb, hereinafter denotedas Tb) and the TDC period T calculated in present step S120(corresponding to the rotational speed Va, hereinafter denoted as Ta),the rotational speed of the engine Va is obtained. The rotational speedof the engine Vb is obtained from the second previous TDC timing to theprevious TDC timing. The changing rate W represents the increased amountfrom the rotational speed Va to the rotational speed Vb.

[0102] In step S160, the series number of the integrate value for theknocking determination is selected from the 17 integrate valuesaccording to the changing rate W.

[0103] (Case 1-2-2)

[0104] When the changing rate W is between −G (G is, positive number,for example 0.1) and +G, i.e. the increased amount or decreased amountof the rotational speed of the engine is within 100×G percent, and whenthe rotational sped of the engine is constant, the second throughthirteenth integrate value is selected as shown in. FIG. 9. In thiscase, the integrate value corresponding to the ATDC 10° CA through ATDC70° CA is selected.

[0105] (Case 1-2-2)

[0106] When the changing rate W is less than −G, i.e. the rotationalspeed of the engine is decreased more than 100×G percent, the secondintegrate value through the sixteen integrate value are selected asshown in middle part of FIG. 10. In this case, the integrate valuecorresponding to the ATDC 10° CA through ATDC 70° CA after decelerationis selected.

[0107] (Case 1-2-3)

[0108] When the changing rate W is more than +G, i.e. the rotationalspeed of the engine is increased more than 100×G percent, the firstintegrate value through the eleventh integrate value are selected asshown in middle part of FIG. 10. In this case, the integrate valuecorresponding to the ATDC 10° CA through ATDC 70° CA after accelerationis selected.

[0109] In step S170, the knocking determination is processed base on theintegrate values selected in step S160.

[0110] It is unnecessary to derive seventeen integrate value. It isenough to derive sixteen integrate value: from the first integrate valueto the sixteenth value. When the rotational speed of the engine isconstant, twelve integrate values are used for knocking determination.When the rotational speed of the engine is decreased, fifteen integratevalues are used for knocking determination. When the rotational speed ofthe engine is increased, eleven integrate values are used for knockingdetermination. These number of the integrate values does not affect therecognition of the knocking wave. In the second embodiment, the processexecuted in step S160 corresponds to a selecting an integrate valuemeans.

[0111] In the second embodiment, since the plural integrate values areselected according to the engine condition, even in acceleration ordeceleration of the engine, it is possible to determine the knocking bymeans of the integrate value corresponding to the ATDC 10° CA throughATDC 70° CA as shown in FIG. 10.

[0112] When the knocking determination is carried out by recognizing theshape of the knock sensor signal wave, latter integrate values (forexample, tenth integrate value henceforth) do not affect the knockingdetermination, thus following modification can be established.

[0113] In step S160, only when the engine is accelerated in the case1-2-3, the first integrate value through the eleventh integrate valueare selected for the knocking determination. In other case, the secondintegrate value through the twelfth integrate values can be selected.

[0114] As described above, since the constant number of the integratevalue is selected, the knocking determination process in step S170 canbe stable. In this case, twelve integrate values are enough to determinethe knocking.

[0115] When the integrate processing of the knock sensor signal duringthe knocking determination corresponding to the ATDC 10° CA −70° CA isneeded, the integration corresponding to 5° CA is configured so that thenumber of the integrate value become seventeen since the estimatedtiming of the ATDC 5° CA. After detecting the timing of the ATDC 70° CAwhich is the timing of gate finishing, the integrate processingcorresponding to 5° CA can be finished even if the number of integratevalue has not reached seventeen.

[0116] When the engine is accelerated, the first through the lastintegrate values are used. In other case, the second integrate valuethrough the last integrate value can be used. By comparing the actualtiming of the ATDC 70° CA with the estimated timing of the ATDC 70° CA,it is acquired that the engine is accelerated or decelerated.

[0117] In this configuration, the actual timing of the ATDC 70° CA isobtained not withstanding the speed of the engine. The way of stoppingthe integrate processing at the timing of the ATDC 70° CA is to stop theprocessing after all integration is accomplished and to stop theprocessing immediately with utilizing the previous value.

[0118] A third embodiment of the invention is described below.

[0119] The engine control system of the third embodiment is differentfrom the second embodiment at following three points (2-1)-(2-3).

[0120] (First Difference 2-1)

[0121] In step S130 shown in FIG. 8, according to the TDC period T, thevalue Z is obtained by dividing the period which is required for thecrankshaft to rotate a certain angle less than 5° (in the firstembodiment, 1°) by the sampling period ts (=10 μs), and then the value Nis calculated by rounding the value Z.

[0122] The value Z is calculated by the following equation.$\begin{matrix}\begin{matrix}{Z = {T \times 0.000833}} \\{= {T \times \left( {1^{{^\circ}}\quad {{CA}/120^{{^\circ}}}\quad {{CA}/10}\quad µ\quad s} \right)}}\end{matrix} & \left( {{equation}\quad 3} \right)\end{matrix}$

[0123] In the third embodiment, the value N is set to 1/m (m is anatural number 2 or more. In this embodiment, m=5), the filter processeddata is added one by one which corresponds 1° CA. The integration of thefilter processed data N is referred as an integration of 1° CA.

[0124] (Second Difference 2-2)

[0125] The preset value compared to the value of counter CNT in stepS390 shown in FIG. 6 is determined to the value (=85) which is derivedby multiplying the value (=17) and m (=5).

[0126] The integration of 1° CA is derived 85 times from INT (0) to INT(84) in the third embodiment. When the rotational speed of the engine isconstant, and when the period from the pervious TDC timing to thepresent TDC timing is equal to the period from the present TDC timing tothe next TDC timing, the integration of 1° CA is derived 85 times in therange from the ATDC 5° CA to the ATDC 90° CA, the range being more broadthan the knock determining period (ATDC 10° CA to ATDC 90° CA).

[0127] (Third Difference 2-3)

[0128] In step S160 shown in FIG. 8, the changing rate W (=(Tb/Ta)−1) iscalculated as same as the second embodiment, however, the processselecting the integrate value is skipped and step S170 is executed.

[0129] In step S170, based on the changing rate W, the knockingdetermination is processed as following steps.

[0130] (Step 1)

[0131] When the changing rate W is more than −G (G is a positive number:for example, 0.1) and less than +G, i.e. acceleration and decelerationis within the rang of 100×G percent and the rotational speed of theengine is substantially constant, each integrate value corresponding to1° CA is integrated at every “m” l value from the first value to get the“b” integrated values. In this embodiment, “m” is 5 and “bag is 12.Then, it is determined whether the knocking arises or not. In this case,the knocking determination is carried out on the basis of the integratedvalue corresponding to predetermined period (the ATDC 10° CA to the ATDC70° CA).

[0132] (Step 2)

[0133] When the changing rate W is less than −G, i.e. deceleration ofengine is more than 100×G percent, the knocking determination isexecuted according to the twelve integrated values as shown in middleportion in FIG. 12. The twelve integrated values are derived byintegrating each integration of 1° CA every certain number which islager than “m”, for example, 6.

[0134] The knocking determination is processed based on the valuecorresponding to the ATDC 10° CA to the ATDC 70° CA after deceleration.

[0135] (Step 3)

[0136] When the changing rate W is larger than +G, i.e. acceleration ofengine is more than 100×G percent, the knocking determination isexecuted according to the twelve integrated values as shown in lowerportion in FIG. 12. The twelve integrated values are derived byintegrating each integration of 1° CA at every certain number which isless than “m”, for example, 4.

[0137] The knocking determination is processed based on the valuecorresponding to the ATDC 10° CA to the ATDC 70° CA after acceleration.

[0138] In the third embodiment, since the plural integrate values areselected according to the engine condition it is possible to determinethe knocking by means of the integrate value corresponding to the ATDC10° CA through ATDC 70° CA as shown in FIG. 12, even in acceleration ordeceleration of the engine.

[0139] The embodiments described above can be modified as follows.

[0140] The knocking determining process can be executed by pluraldigital filter process and integral process. The plural digital filterprocesses are executed to the A/D converted knock sensor signal, thedigital filter processed data are integrated, and then it is determinedwhether the knocking arises or not. In this case, the number of theintegrated value is changeable at every filtering process. When thenumber of the integrated value is constant, the counter CNT and thememory n can be common in each processing.

[0141] A vibrating sensor, an ion current sensor or a cylinder pressuresensor can be used as the knock sensor.

What is claimed is:
 1. A knocking detecting device, comprising: a signalprocessing means which converts an analog knock sensor signal into adigital knock sensor signal and filters the digital knock sensor signaldigitally every sampling time period; a calculating means whichcalculates a value indicative of the number of A/D conversions in a timeperiod required for a crankshaft to rotate a predetermined angle basedon the rotational speed of an engine and converts the value into integerN; an integrating means which integrates the filter processed dataprocessed by the signal processing means every N during a predeterminedperiod from a process starting time synchronized with a rotation of acrankshaft; and a knock detecting means which detects the existence ofthe knocking based on the plural integrated values, the calculatingmeans deriving N before the integrating means starts to process andkeeping N constant during a processing period of the integrating means.2. The knocking detecting device according to claim 1, wherein thecalculating means measures an interval between reference signals arisingwhen the crankshaft rotates to a fixed angle and multiplies the intervaland a constant number together, the constant number being calculatedbased on the fixed angle, the predetermined angle and the samplingperiod.
 3. The knocking detecting device according to claim 1, whereinthe calculating means fixes the integer N when the number of rotationalspeed is under a predetermined value or over a predetermined value. 4.The knocking detecting device according to claim 1, wherein thecalculating means integrates the filter processed data every N until thenumber of integration reaches a, a being a natural number larger than 1,the knock detecting means determines whether the knocking arises or not,the calculating means rounds the value whereby the integer N is derived,and the natural number a is increased when the calculating means roundsdown the decimal place of the value to derive N.
 5. The knockingdetecting device according to claim 1, wherein a process starting timeof the integrating means is established as a time in which thecrankshaft rotates to an angle form a reference angle, the integratingmeans integrates the filter processed data every N until the number ofintegration reaches two or more, and the detecting means detects theacceleration or deceleration of an engine based on a rotational speed ofthe engine until the rotational position of the crankshaft reaches thereference angle and based on a rotational speed of the engine during aperiod until the integration means finishes the calculation of theintegrated value from a time in which the rotational position of thecrankshaft in the reference angle, the detecting means is provided withan integrated value selecting means which selects a series of integratedvalues according to the acceleration or deceleration of the engine, theintegrated value selecting means determining an existence of theknocking.
 6. The knocking detecting device according to claim 5, whereinthe integrated value selecting means selects a constant number of theintegrated value as an actual number of the integrated value to be usedfor determining knocking.
 7. The knocking detecting device according toclaim 1, wherein a process starting time of the integrating means isestablished as a time in which the crankshaft rotates to an angle form areference angle, the integrating means integrates the filter processeddata every N until the number of integration reaches two or more, andthe detecting means detects the acceleration or deceleration of anengine based on a rotational speed of the engine until the rotationalposition of the crankshaft reaches the reference angle and based on arotational speed of the engine during a period until the integrationmeans finishes the calculation of the integrated value from a time inwhich the rotational position of the crankshaft in the reference angle,the detecting means determining the knocking based on b pieces of theintegrated numbers which are integrated from a first integrated numbersevery m when the acceleration or deceleration of the engine is within apredetermined percent, the detecting means determining the knockingbased on b pieces of the integrated numbers which are integrated fromthe first integrated numbers every fixed number larger than m, thedetecting means determining the knocking based on b pieces of theintegrated numbers which are integrated from the first integratednumbers every fixed number smaller than m, and m and b being naturalnumbers more than two.